class Utils {
	constructor() {
		this.baseURL = 'http://159.75.169.224:7300/pz'
	}
	// 获取用户信息
	getUserinfo() {
		// 调用登录api
		uni.login({
			success: res => {
				this.request({
					url: '/auth/wxLogin',
					// data: {
					// 	code: res.code
					// },
					success: (res) => {
						console.log(res, '登录res')
					}
				})
			}
		})

	}
	// 接口请求二次封装
	request(options = {
		showLoading: false
	}) {
		// 判断url是否存在
		if (!options.url) {
			return false
		}
		if (options.showLoading) {
			this.showLoading()
		}
		uni.request({
			url: this.baseURL + options.url,
			data: options.data ? options.data : {},
			method: options.method ? options.method : 'get',
			header: options.header ? options.header : {},
			success: (response) => {
				// 回调完成关闭加载
				// 后端返回的数据异常
				if (response.data.code !== 10000) {
					// 将失败的结果返回
					if (options.fail && typeof options.fail == 'function') {
						options.fail(response)
					}
				} else {
					// 将成功的结果返回
					if (options.success && typeof options.success == 'function') {
						options.success(response.data)
					}
				}
				uni.hideLoading()
			},
			// 非200的情况
			fail: response => {
				uni.hideLoading()
				console.log(response, '非200情况')
			}
		})
	}
	// 创建加载的loading效果
	showLoading() {
		const isShowLoading = uni.getStorageSync('isShowLoading')
		if (isShowLoading) {
			uni.hideLoading()
			uni.setStorageSync('isShowLoading', false)
		}
		uni.showLoading({
			title: '加载中',
			complete: () => {
				uni.setStorageSync('isShowloading', true)
			},
			fail: () => {
				uni.setStorageSync('isShowLoading', false)
			}
		})
	}
}

export default new Utils()